package com.zmn.oms.model.entity.changerecord;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 类描述：订单修改记录
 *
 * @author xiewenbing
 * @date 2019-11-25 17:52
 */

@Data
public class OrderChangeRecord implements Serializable {

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 首次预约时间
     */
    private Date firstDutyTime;

    /**
     * 第一次操作人id
     */
    private Long firstDutyOptId = 0L;

    /**
     * 第一次操作人姓名
     */
    private String firstDutyOptName = "";

    /**
     * 第一次操作人类型 : 1 系统 2员工 3 工程师 4 用户 5 厂商 6 服务商 7 大客户 8渠道
     */
    private Integer firstDutyOptType = 0;

    /**
     * 第一次操作时间
     */
    private Date firstDutyOptTime;

    /**
     * 最后一次预约时间
     */
    private Date lastDutyTime;

    /**
     * 最后一次操作人id
     */
    private Long lastDutyOptId = 0L;

    /**
     * 最后一次操作人姓名
     */
    private String lastDutyOptName = "";

    /**
     * 最后一次操作人类型 : 1 系统 2员工 3 工程师 4 用户 5 厂商 6 服务商 7 大客户 8渠道
     */
    private Integer lastDutyOptType = 0;

    /**
     * 最后一次操作时间
     */
    private Date lastDutyOptTime;

    /**
     * 预约时间修改次数
     */
    private Integer dutyTimeModifyCount;

    /**
     * 运营平台修改订单次数
     */
    private Integer platDutyTimeModifyCount;

    /**
     * 厂商平台修改订单次数
     */
    private Integer fcPopDutyTimeModifyCount;

    /**
     * 服务商平台修改订单次数
     */
    private Integer spPopDutyTimeModifyCount;

    /**
     * 师傅app修改订单次数
     */
    private Integer appDutyTimeModifyCount;

    /**
     * 首次派单时间
     */
    private Date firstDistributeTime;

    /**
     * 第一次操作人id
     */
    private Long firstDistributeOptId = 0L;

    /**
     * 第一次操作人姓名
     */
    private String firstDistributeOptName = "";

    /**
     * 第一次操作人类型 : 1 系统 2员工 3 工程师 4 用户 5 厂商 6 服务商 7 大客户 8渠道
     */
    private Integer firstDistributeOptType = 0;

    /**
     * 第一次操作时间
     */
    private Date firstDistributeOptTime;

    /**
     * 第一次派单方式，人工、自动
     */
    private Integer firstDistributeType = 0;

    /**
     * 第一次派单规则，简单、相似、公平、推荐
     */
    private Integer firstDistributeRule = 0;

    /**
     * 第一次派单路径，服务商分派、平台直派
     */
    private Integer firstDistributeWay = 0;

    /**
     * 第一次派单入口，管理后台、服务商后台、工程师APP
     */
    private Integer firstDistributeEntry = 0;

    /**
     * 最后一次派单时间
     */
    private Date lastDistributeTime;

    /**
     * 最后一次操作人id
     */
    private Long lastDistributeOptId = 0L;

    /**
     * 最后一次操作人姓名
     */
    private String lastDistributeOptName = "";

    /**
     * 最后一次操作人类型 : 1 系统 2员工 3 工程师 4 用户 5 厂商 6 服务商 7 大客户 8渠道
     */
    private Integer lastDistributeOptType = 0;

    /**
     * 最后一次操作时间
     */
    private Date lastDistributeOptTime;

    /**
     * 最后一次派单方式，人工、自动
     */
    private Integer lastDistributeType = 0;

    /**
     * 最后一次派单规则，简单、相似、公平、推荐
     */
    private Integer lastDistributeRule = 0;

    /**
     * 第一次派单路径，服务商分派、平台直派
     */
    private Integer lastDistributeWay = 0;

    /**
     * 最后一次派单入口，管理后台、服务商后台、工程师APP
     */
    private Integer lastDistributeEntry = 0;

    /**
     * 最后一次派单工程师所属网格内外，1网格外，2网格内
     */
    private Integer lastDistributeGrid;

    /**
     * 派单次数
     */
    private Integer distributeCount;

    /**
     * 后台直接改派次数
     */
    private Integer redistributeCount;

    /**
     * 第一次上门用户扫码关注时间
     */
    private Date firstVisitScanTime;

    /**
     * 最后一次上门用户扫码关注时间
     */
    private Date lastVisitScanTime;

    /**
     * 上门扫码人openId
     */
    private String visitScanOpenId;

    /**
     * 上门扫码人unionId
     */
    private String visitScanUnionId;

    /**
     * 第一次工程师形象照时间
     */
    private Date firstMasterImageTime;

    /**
     * 最后一次工程师形象照时间
     */
    private Date lastMasterImageTime;

    /**
     * 最后一次改预付操作人id
     */
    private Long lastPrepayAmountOptId = 0L;

    /**
     * 最后一次改预付操作人姓名
     */
    private String lastPrepayAmountOptName = "";

    /**
     * 最后一次改预付操作人类型 : 1 系统 2员工 3 工程师 4 用户 5 厂商 6 服务商 7 大客户 8渠道
     */
    private Integer lastPrepayAmountOptType = 0;

    /**
     * 最后一次改预付操作时间
     */
    private Date lastPrepayAmountOptTime;

    /**
     * 改派时记录的责任工程师ID（注意：非最终责任工程师）
     */
    private Integer liableMasterId;

    /**
     * 改派时记录的责任工程师名称（注意：非最终责任工程师）
     */
    private String liableMasterName;

    /**
     * 责任工程师ID
     */
    private Integer cancelLiableMasterId;

    /**
     * 责任工程师名称
     */
    private String cancelLiableMasterName;

    /**
     * 下单服务分类
     */
    private Integer inputServCategId;

    /**
     * 当前服务分类
     */
    private Integer currServCategId;

    /**
     * 创建人
     */
    private String creater;

    /**
     * 最新修改人
     */
    private String updater;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 最新修改时间
     */
    private Date updateTime;
}